package org.jim.server.processor.group;

import org.jim.core.ImChannelContext;
import org.jim.core.packets.*;
import org.jim.server.processor.SingleProtocolCmdProcessor;

/**
 * @author ensheng
 */
public interface GroupCmdProcessor extends SingleProtocolCmdProcessor {
    /**
     * 加入群组处理
     */
    JoinGroupRespBody join(Group joinGroup, ImChannelContext imChannelContext);

    /**
     * 创建群组处理
     */
    GroupResult create(CreateGroupBody body, ImChannelContext imChannelContext);

    /**
     * 解散群组处理
     */
    GroupResult disband(GroupBody body, ImChannelContext imChannelContext);

    /**
     * 退出群组处理
     */
    GroupResult quit(GroupBody body, ImChannelContext imChannelContext);

    /**
     * 邀请用户进入群组处理
     */
    GroupResult invite(GroupBody body, ImChannelContext imChannelContext);
}
